123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- <template>
- <view class="problemHandleItem">
- <!-- <view class="font-md text-dark font-weight">问题处理</view>-->
- <u--form labelPosition="left" :model="problemHandleData" labelWidth="80">
- <u-form-item label="问题处理:" required prop="dealResult">
- <u-radio-group v-model="problemHandleData.dealResult" placement="column" @change="radioChange">
- <!-- <u-radio label="退回修改" name="2" :disabled="onlyFlag" class="mb-2"></u-radio>-->
- <u-radio label="办结" name="3" :disabled="onlyFlag" class="mb-2"></u-radio>
- <u-radio label="反馈大走访活动办"
- v-if="typeName == 'question' && (userInfo.enterpriseAreaFlag || userInfo.enterpriseCadreFlag)" name="4"
- :disabled="onlyFlag"></u-radio>
- <u-radio label="正在办理"
- v-if="typeName == 'question' && (userInfo.enterpriseAreaFlag || userInfo.enterpriseCadreFlag || userInfo.assignedDeptFlag)" name="10"
- :disabled="onlyFlag" ></u-radio>
- <u-radio label="难以化解"
- v-if="typeName == 'question' && (userInfo.enterpriseAreaFlag || userInfo.enterpriseCadreFlag) || userInfo.assignedDeptFlag" name="11"
- :disabled="onlyFlag"></u-radio>
- <u-radio label="持续跟踪"
- v-if="typeName == 'question' && (userInfo.enterpriseAreaFlag || userInfo.enterpriseCadreFlag) || userInfo.assignedDeptFlag" name="12"
- :disabled="onlyFlag"></u-radio>
- <u-radio label="提请会办"
- v-if="typeName == 'question' && (userInfo.enterpriseAreaFlag || userInfo.enterpriseCadreFlag) || userInfo.assignedDeptFlag" name="13"
- :disabled="onlyFlag"></u-radio>
- <u-radio label="交办" v-if="typeName == 'question' && userInfo.ydGxjLeaderFlag" name="5" :disabled="onlyFlag"
- class="mt-2">
- </u-radio>
- </u-radio-group>
- </u-form-item>
- <view class="error-tip" v-if="!problemHandleData.dealResult && errorTip">
- 请选择处理结果
- </view>
- <u-form-item label="交办单位:" required prop="assignedDeptName" v-if="problemHandleData.dealResult == '5'"
- @click="unitDataTap">
- <u--input v-model="problemHandleData.assignedDeptName" readonly :border="onlyFlag ? 'none' : 'surround'"
- :placeholder="!onlyFlag ? '请选择交办单位' : ''">
- </u--input>
- </u-form-item>
- <view class="error-tip"
- v-if="problemHandleData.dealResult == '5' && !problemHandleData.assignedDeptName && errorTip">
- 请选择交办单位
- </view>
- <u-form-item label="处理建议:" required prop="dealSuggestion">
- <u--textarea v-model="problemHandleData.dealSuggestion" :disabled="onlyFlag"
- :border="onlyFlag ? 'none' : 'surround'" :placeholder="!onlyFlag ? '请填写处理建议' : ''">
- </u--textarea>
- </u-form-item>
- <view class="error-tip" v-if="!problemHandleData.dealSuggestion && errorTip">
- 请填写处理建议
- </view>
- </u--form>
- <!-- 交办单位 -->
- <u-picker :show="showUnit" :columns="unitColumn" keyName="fullName" title="请选择交办单位" @cancel="showMonth = false"
- @confirm="unitSelect">
- </u-picker>
- </view>
- </template>
- <script>
- export default {
- props: {
- problemType: {
- type: String,
- default: ''
- },
- problemHandleData: {
- type: Object,
- default: () => {}
- },
- userInfo: {
- type: Object,
- default: () => {}
- },
- readOnlyFlag: {
- type: Boolean,
- default: false
- },
- showErrorTip: {
- type: Boolean,
- default: false
- },
- column: {
- type: Array,
- default: () => []
- }
- },
- data() {
- return {
- showUnit: false
- }
- },
- computed: {
- onlyFlag() {
- return this.readOnlyFlag
- },
- errorTip() {
- return this.showErrorTip
- },
- typeName() {
- return this.problemType
- },
- unitColumn() {
- return this.column
- }
- },
- methods: {
- // 处理结果点击确认
- radioChange() {
- if (this.problemHandleData.dealResult != '5') {
- this.problemHandleData.assignedDeptName = ''
- this.problemHandleData.assignedDept = ''
- }
- },
- // 交办单位--->点击
- unitDataTap() {
- if (this.readOnlyFlag) return
- this.showUnit = true;
- uni.hideKeyboard()
- },
- // 交办单位选择确认操作
- unitSelect({
- value
- }) {
- this.problemHandleData.assignedDeptName = value[0].fullName
- this.problemHandleData.assignedDept = value[0].enCode
- this.showUnit = false
- },
- // 判断是否有必填项为填写
- isRequired() {
- const query = uni.createSelectorQuery().in(this);
- let dataLength = 0
- query.selectAll('.error-tip').boundingClientRect(data => {
- dataLength = data.length
- if (dataLength) {
- uni.$u.toast('请完善必填项内容')
- }
- }).exec();
- return dataLength
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- .error-tip {
- font-size: 12px;
- color: #f56c6c;
- margin-left: 160rpx;
- }
- </style>
|