|  | @@ -1,5 +1,137 @@
 | 
	
		
			
				|  |  |  <template>
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | +    <div class="pblm-detail-wrapper">
 | 
	
		
			
				|  |  | +        <van-form @submit="onSubmit">
 | 
	
		
			
				|  |  | +            <card01 style="margin-top: 0;" :title="pblm.name + ''" icon="label"
 | 
	
		
			
				|  |  | +                :description="`工程地址:${pblm.location}<br/>问题类型:${listTypeConvert(pblm.listType)}`" />
 | 
	
		
			
				|  |  | +            <div class="pblm-detail-label">
 | 
	
		
			
				|  |  | +                <span>违规事项</span>
 | 
	
		
			
				|  |  | +                <van-button size="mini" type="primary" @click="changeTacObjPblmstb()">选择违规事项</van-button>
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +            <van-cell-group inset>
 | 
	
		
			
				|  |  | +                <van-field v-model="tacObjPblmstb.pblmTypeDesc" label="问题类型" placeholder="问题类型" label-align="top"
 | 
	
		
			
				|  |  | +                    rows="1" autosize type="textarea" readonly />
 | 
	
		
			
				|  |  | +                <van-field v-model="tacObjPblmstb.pblmsDesc" label="违规事项" placeholder="违规事项" label-align="top" rows="2"
 | 
	
		
			
				|  |  | +                    autosize type="textarea" readonly />
 | 
	
		
			
				|  |  | +                <van-field v-model="tacObjPblmstb.relativeLaw" label="法规条款" placeholder="法规条款" label-align="top"
 | 
	
		
			
				|  |  | +                    rows="2" autosize type="textarea" readonly />
 | 
	
		
			
				|  |  | +                <van-field v-model="tacObjPblmstb.lawContent" label="法规内容" placeholder="法规内容" label-align="top" rows="2"
 | 
	
		
			
				|  |  | +                    autosize type="textarea" readonly />
 | 
	
		
			
				|  |  | +                <van-field v-model="pblm.note" label="备注" placeholder="备注" label-align="top" rows="2" autosize
 | 
	
		
			
				|  |  | +                    type="textarea" />
 | 
	
		
			
				|  |  | +            </van-cell-group>
 | 
	
		
			
				|  |  | +            <div class="pblm-detail-label">问题描述</div>
 | 
	
		
			
				|  |  | +            <van-cell-group inset>
 | 
	
		
			
				|  |  | +                <van-field v-model="pblm.pblmNm" label="发现问题" placeholder="发现问题" label-align="top" rows="2" autosize
 | 
	
		
			
				|  |  | +                    type="textarea" />
 | 
	
		
			
				|  |  | +                <van-field v-model="pblm.pblmDesc" label="问题阐述" placeholder="问题阐述" label-align="top" rows="2" autosize
 | 
	
		
			
				|  |  | +                    type="textarea" />
 | 
	
		
			
				|  |  | +                <van-field v-model="pblm.pblmReason" label="主要原因分析" placeholder="主要原因分析" label-align="top" rows="2"
 | 
	
		
			
				|  |  | +                    autosize type="textarea" />
 | 
	
		
			
				|  |  | +                <van-field v-model="pblm.pblmSggtn" label="整改意见及建议" placeholder="整改意见及建议" label-align="top" rows="2"
 | 
	
		
			
				|  |  | +                    autosize type="textarea" />
 | 
	
		
			
				|  |  | +                <van-field v-model="pblm.spclRvwOptn" label="稽查组长复核意见" placeholder="稽查组长复核意见" label-align="top" rows="2"
 | 
	
		
			
				|  |  | +                    autosize type="textarea" />
 | 
	
		
			
				|  |  | +                <GwSelect02 label="问题严重性" :columns="cateObjList" v-model:value="pblm.pblmPasi"></GwSelect02>
 | 
	
		
			
				|  |  | +                <van-field name="radio" label="是否典型问题">
 | 
	
		
			
				|  |  | +                    <template #input>
 | 
	
		
			
				|  |  | +                        <van-radio-group v-model="pblm.ifCasePblm" direction="horizontal">
 | 
	
		
			
				|  |  | +                            <van-radio name="1">是</van-radio>
 | 
	
		
			
				|  |  | +                            <van-radio name="0">否</van-radio>
 | 
	
		
			
				|  |  | +                        </van-radio-group>
 | 
	
		
			
				|  |  | +                    </template>
 | 
	
		
			
				|  |  | +                </van-field>
 | 
	
		
			
				|  |  | +                <van-field name="stepper" label="排序序号">
 | 
	
		
			
				|  |  | +                    <template #input>
 | 
	
		
			
				|  |  | +                        <van-stepper v-model="pblm.sn" />
 | 
	
		
			
				|  |  | +                    </template>
 | 
	
		
			
				|  |  | +                </van-field>
 | 
	
		
			
				|  |  | +                <van-field name="uploader" label="文件上传">
 | 
	
		
			
				|  |  | +                    <template #input>
 | 
	
		
			
				|  |  | +                        <van-uploader v-model="gwComFileList" />
 | 
	
		
			
				|  |  | +                    </template>
 | 
	
		
			
				|  |  | +                </van-field>
 | 
	
		
			
				|  |  | +            </van-cell-group>
 | 
	
		
			
				|  |  | +            <div class="pblm-detail-label">责任主体</div>
 | 
	
		
			
				|  |  | +            <van-cell-group inset>
 | 
	
		
			
				|  |  | +                <div class="pblmSubjectList" v-for="item in pblm.pblmSubjectList" :key="item.id">
 | 
	
		
			
				|  |  | +                    <GwSelect02 label="单位性质" :columns="objSubjectColumns" v-model:value="item.subId"></GwSelect02>
 | 
	
		
			
				|  |  | +                    <van-field v-model="item.unitNm" label="单位名称" placeholder="单位名称" />
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  | +                <van-button round plain hairline block>
 | 
	
		
			
				|  |  | +                    <van-icon style="margin-right: 5px;" name="plus" color="#000" size="1rem" />
 | 
	
		
			
				|  |  | +                    添加单位
 | 
	
		
			
				|  |  | +                </van-button>
 | 
	
		
			
				|  |  | +            </van-cell-group>
 | 
	
		
			
				|  |  | +            <div style="margin: 16px;">
 | 
	
		
			
				|  |  | +                <van-button round block type="primary" native-type="submit">
 | 
	
		
			
				|  |  | +                    提交
 | 
	
		
			
				|  |  | +                </van-button>
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +        </van-form>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <van-popup v-model:show="tacObjPblmstbShow" position="left" :style="{ width: '80%', height: '100%' }">
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        </van-popup>
 | 
	
		
			
				|  |  | +    </div>
 | 
	
		
			
				|  |  |  </template>
 | 
	
		
			
				|  |  |  <script setup>
 | 
	
		
			
				|  |  | +import { onMounted, ref, computed, watch } from "vue";
 | 
	
		
			
				|  |  | +import { useRoute } from "vue-router";
 | 
	
		
			
				|  |  | +import card01 from '@/components/card01.vue';
 | 
	
		
			
				|  |  | +import GwSelect02 from '@/components/GwSelect02.vue';
 | 
	
		
			
				|  |  | +import { getTacQuestionById } from "@/api/inspect";
 | 
	
		
			
				|  |  | +import { listTypeConvert } from "@/utils/convert"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const route = useRoute();
 | 
	
		
			
				|  |  | +const pblm = ref({});
 | 
	
		
			
				|  |  | +const tacObjPblmstb = computed(() => pblm.value.tacObjPblmstb || {});
 | 
	
		
			
				|  |  | +const cateObjList = computed(() => tacObjPblmstb.value?.cateObjList?.map(i => { return { text: i.desc, value: i.cate } }) || []);
 | 
	
		
			
				|  |  | +const objSubjectList = computed(() => pblm.value.tacObjPblmstb.objSubjectList || []);
 | 
	
		
			
				|  |  | +const objSubjectColumns = computed(() => objSubjectList.value?.map(i => { return { text: i.subName, value: i.id } }) || []);
 | 
	
		
			
				|  |  | +const gwComFileList = computed(() => pblm.value.gwComFileList?.map(i => process.env.VUE_APP_BASE_API + i.filePath) || []);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const tacObjPblmstbShow = ref(false);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +function getQuestionData() {
 | 
	
		
			
				|  |  | +    getTacQuestionById(route.params.id).then(res => {
 | 
	
		
			
				|  |  | +        pblm.value = res.data
 | 
	
		
			
				|  |  | +    })
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + * 选择违规事项
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +function changeTacObjPblmstb() {
 | 
	
		
			
				|  |  | +    console.log('changeTacObjPblmstb')
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +function onSubmit() {
 | 
	
		
			
				|  |  | +    console.log(e)
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +onMounted(() => {
 | 
	
		
			
				|  |  | +    getQuestionData();
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  |  </script>
 | 
	
		
			
				|  |  | +<style lang="scss" scoped>
 | 
	
		
			
				|  |  | +.pblm-detail-wrapper {
 | 
	
		
			
				|  |  | +    height: 100%;
 | 
	
		
			
				|  |  | +    padding: 10px 0;
 | 
	
		
			
				|  |  | +    overflow: auto;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    .pblm-detail-label {
 | 
	
		
			
				|  |  | +        padding: 10px 16px;
 | 
	
		
			
				|  |  | +        color: #606266;
 | 
	
		
			
				|  |  | +        display: flex;
 | 
	
		
			
				|  |  | +        align-items: center;
 | 
	
		
			
				|  |  | +        justify-content: space-between;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +</style>
 | 
	
		
			
				|  |  | +<style lang="scss">
 | 
	
		
			
				|  |  | +.van-cell-group--inset {
 | 
	
		
			
				|  |  | +    margin: 0 10px;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +</style>
 |