“zhuo”
2023-08-11 90d62a2ac29557fd8991b14d38faa645bd108cc4
Merge branch 'master' of http://192.168.110.209:9001/r/lims-before
已修改2个文件
260 ■■■■■ 文件已修改
src/api/urlEnum/satisfactionSurveys.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/satisfactionSurveys/index.vue 258 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/urlEnum/satisfactionSurveys.js
@@ -2,6 +2,8 @@
const url={
    "getCnasSatisfactionSurvey": baseurl+"/getCnasSatisfactionSurvey",//获取不合格品反馈
    "getFillNameAndId": baseurl+"/getFillNameAndId",//当前录入人
    "uploadFile": baseurl+"/uploadFile"//文件上传
}
export default{
    url
src/views/CNAS/satisfactionSurveys/index.vue
@@ -5,13 +5,15 @@
          <!-- <el-input v-model="input" class="input-form" placeholder="请直接输入样式编号/样品名称/型号规格/进行搜索或下拉选择进行组合查询"
              @keyup.enter.native="getData" /> -->
          <el-form-item style="width: 800px;">
            <el-col style="display: flex; justify-content: space-around;" :span="8">
          <el-col style="display: flex; justify-content: space-around;" :span="12">
              <el-row>调查日期:</el-row>
              <el-row><el-input type="date" style="width: 130px;" v-model="surveyDate" placeholder="请选择调查日期"></el-input></el-row>
            <el-row style="width: 300px;"><el-input type="date" prefix-icon="el-icon-date" v-model="surveyDate"
                placeholder="请选择调查日期"></el-input></el-row>
            </el-col>
            <el-col style="display: flex; justify-content: space-around;" :span="8">
          <el-col style="display: flex; justify-content: space-around;" :span="12">
              <el-row>录入日期:</el-row>
              <el-row><el-input style="width: 130px;" v-model="entryDate" placeholder="请选择录入日期"></el-input></el-row>
            <el-row style="width: 300px;"><el-input type="date" prefix-icon="el-icon-date" v-model="entryDate"
                placeholder="请选择录入日期"></el-input></el-row>
            </el-col>
          </el-form-item>
          <el-form-item>
@@ -20,7 +22,7 @@
          </el-form-item>
        </el-form>
        <el-form>
          <el-button size="40" icon="el-icon-document-add" type="primary">新增记录</el-button>
        <el-button size="40" @click="getFillName()" icon="el-icon-document-add" type="primary">新增记录</el-button>
        </el-form>
      </div>
      <div class="library-table">
@@ -42,8 +44,8 @@
            <el-table-column prop="telephone" label="联系电话" min-width="10%" />
            <el-table-column prop="userName" label="录入人" min-width="10%" />
            <el-table-column label="附件" min-width="10%" >
                <template>
                    <a style="color: #3894d1;">查看附件</a>
            <template slot-scope="scope">
              <a style="color: #3894d1;" @click="look(scope.row.id)">查看附件</a>
                </template>
            </el-table-column>
          </el-table>
@@ -55,6 +57,147 @@
          </div>
        </div>
      </div>
    <el-dialog title="满意度调查" :visible.sync="dialogVisible" width="50%">
      <table class="table" style="width: 100%;">
        <tr>
          <td> </td>
          <td>满意</td>
          <td>一般</td>
          <td>不满意</td>
          <td>建议</td>
        </tr>
        <tr>
          <td>服务态度</td>
          <td><el-radio v-model="serviceAttitude" label="0"><span hidden>满意</span></el-radio></td>
          <td><el-radio v-model="serviceAttitude" label="1"><span hidden>一般</span> </el-radio></td>
          <td><el-radio v-model="serviceAttitude" label="2"><span hidden>不满意</span></el-radio></td>
          <td><el-input v-model="serviceAttitudeInput" placeholder="请输入内容"></el-input></td>
        </tr>
        <tr>
          <td>技术能力</td>
          <td><el-radio v-model="technicalPower" label="0"><span hidden>满意</span></el-radio></td>
          <td><el-radio v-model="technicalPower" label="1"><span hidden>一般</span> </el-radio></td>
          <td><el-radio v-model="technicalPower" label="2"><span hidden>不满意</span></el-radio></td>
          <td><el-input v-model="technicalPowerInput" placeholder="请输入内容"></el-input></td>
        </tr>
        <tr>
          <td>检测工作</td>
          <td><el-radio v-model="testJob" label="0"><span hidden>满意</span></el-radio></td>
          <td><el-radio v-model="testJob" label="1"><span hidden>一般</span> </el-radio></td>
          <td><el-radio v-model="testJob" label="2"><span hidden>不满意</span></el-radio></td>
          <td><el-input v-model="testJobInput" placeholder="请输入内容"></el-input></td>
        </tr>
        <tr>
          <td>收费合理性</td>
          <td><el-radio v-model="reasonableCharge" label="0"><span hidden>满意</span></el-radio></td>
          <td><el-radio v-model="reasonableCharge" label="1"><span hidden>一般</span> </el-radio></td>
          <td><el-radio v-model="reasonableCharge" label="2"><span hidden>不满意</span></el-radio></td>
          <td><el-input v-model="reasonableChargeInput" placeholder="请输入内容"></el-input></td>
        </tr>
        <tr>
          <td>改进要求</td>
          <td colspan="4">
            <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" placeholder="请输入内容"
              v-model="improvementRequirements">
            </el-input>
          </td>
        </tr>
        <tr>
          <td>其他补充</td>
          <td colspan="4">
            <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" placeholder="请输入内容"
              v-model="otherSupplements">
            </el-input>
          </td>
        </tr>
      </table>
      <!-- <span slot="footer" class="dialog-footer">
        <el-button @click="dialogVisible = false">取 消</el-button>
        <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
      </span> -->
    </el-dialog>
    <el-dialog title="新增满意度调查记录" :visible.sync="dialogVisible2" width="50%">
      <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
        <el-row>
          <el-col :span="12">
            <el-form-item label="调查日期:" prop="surveyDate">
              <el-input style="width: 200px;" type="date" v-model="ruleForm.surveyDate"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="客户单位:" prop="unitName">
              <el-input style="width: 200px;" type="text" placeholder="请输入客户单位名称" v-model="ruleForm.unitName"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="项目名称:" prop="projectName">
              <el-input style="width: 200px;" type="text" placeholder="请输入项目名称" v-model="ruleForm.projectName"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="日期:" prop="dateInfo">
              <el-input style="width: 200px;" type="date" v-model="ruleForm.dateInfo"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <!-- 填表人姓名 -->
        <el-row>
          <el-col :span="12">
            <el-form-item label="填表人姓名:" prop="fillName">
              <el-input style="width: 200px;" type="text" placeholder="请输入填表人姓名" v-model="ruleForm.fillName"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="职位:" prop="post">
              <el-input style="width: 200px;" type="text" placeholder="请输入职位" v-model="ruleForm.post"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <!-- 联系电话/录入日期 -->
        <el-row>
          <el-col :span="12">
            <el-form-item label="联系电话:" prop="telephone">
              <el-input style="width: 200px;" type="text" placeholder="请输入职位" v-model="ruleForm.telephone"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="录入日期:" prop="entryDate">
              <el-input style="width: 200px;" type="date" v-model="ruleForm.entryDate"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <!-- 录入人 -->
        <el-row>
          <el-col :span="12">
            <el-form-item label="录入人:" prop="userName">
              <el-input style="width: 200px;" type="text" placeholder="请输入录入人姓名" v-model="ruleForm.userName"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="附件上传:">
              <el-upload class="upload-demo" :action="path"
                :on-preview="handlePreview" :on-remove="handleRemove" :before-remove="beforeRemove" multiple :limit="1"
                :on-exceed="handleExceed" :file-list="fileList" :on-success="fileUploadSuccess()">
                <el-button size="small" type="primary">点击上传</el-button>
              </el-upload>
            </el-form-item>
          </el-col>
        </el-row>
        <!-- 提交 -->
        <el-row>
          <el-col :span="8">
            <el-form-item>
              <el-button @click="resetForm('ruleForm')">取消</el-button>
              <el-button type="primary" @click="submitForm('ruleForm')">保存</el-button>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
    </el-dialog>
    </div>
  </template>
  
@@ -72,6 +215,48 @@
        entryDate: null,
        surveyDate: null,
        id: 0,
      dialogVisible: false,
      serviceAttitude: 3,
      serviceAttitudeInput: "无",
      technicalPower: 3,
      technicalPowerInput: "无",
      testJob: 3,
      testJobInput: "无",
      reasonableCharge: 3,
      reasonableChargeInput: "无",
      otherSupplements: "无",
      improvementRequirements: "无",
      dialogVisible2: false,
      path: 'http://192.168.110.254:1234/cnasSatisfactionSurvey/uploadFile',
      ruleForm: {
        surveyDate: '',
        unitName: '',
        projectName: '',
        dateInfo: '',
        fillName: '',
        post: '',
        telephone: '',
        entryDate: '',
        userName: ''
      },
      rules: {
        surveyDate: [
          { type: 'date', required: true, message: '请选择调查日期', trigger: 'change' }
        ],
        unitName: [
          { required: true, message: '请输入客户单位名称', trigger: 'blur' },
        ],
        projectName: [
          { required: true, message: '请输入项目名称', trigger: 'blur' }
        ],
        entryDate: [
          { type: 'date', required: true, message: '请选择录入日期', trigger: 'change' }
        ],
        telephone: [
          { required: true, message: '请输入联系电话', trigger: 'blur' }
        ]
      },
      fileList: [],
      }
    },
    created() {
@@ -83,6 +268,27 @@
    methods: {
      handleCurrentChange() {
        this.getData();
    },
    look(id) {
      let str = "/$";
      this.dialogVisible = true
      let data = this.tableData.filter(res => {
        return res.id == id
      })[0]
      let serviceAttitudeInfo = data.serviceAttitude.split(str);
      this.serviceAttitude = serviceAttitudeInfo[0]
      this.serviceAttitudeInput = serviceAttitudeInfo[1]
      let technicalPowerInfo = data.technicalPower.split(str)
      this.technicalPower = technicalPowerInfo[0]
      this.technicalPowerInput = technicalPowerInfo[1]
      let testJobInfo = data.testJob.split(str)
      this.testJob = testJobInfo[0]
      this.testJobInput = testJobInfo[1]
      let reasonableChargeInfo = data.reasonableCharge.split(str)
      this.reasonableCharge = reasonableChargeInfo[0]
      this.reasonableChargeInput = reasonableChargeInfo[1]
      this.otherSupplements = data.otherSupplements
      this.improvementRequirements = data.improvementRequirements
      },
      handleSizeChange() {
  
@@ -108,6 +314,38 @@
        let res = await get(urlInfo.url.getCnasSatisfactionSurvey, param)
        this.tableData = res.data.cnasSatisfactionSurveyList
        this.total = res.data.total
    },
    getFillName() {
      this.dialogVisible2 = true
      // get(urlInfo.url.getFillNameAndId)
    },
    submitForm(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
          alert('submit!');
        } else {
          console.log('error submit!!');
          return false;
        }
      });
    },
    resetForm(formName) {
      this.$refs[formName].resetFields();
    },
    handleRemove(file, fileList) {
      console.log(file, fileList);
    },
    handlePreview(file) {
      console.log(file);
    },
    handleExceed(files, fileList) {
      this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
    },
    beforeRemove(file, fileList) {
      return this.$confirm(`确定移除 ${file.name}?`);
    },
    fileUploadSuccess(res){
      console.log(res);
      }
    }
  }
@@ -171,6 +409,12 @@
  
    }
  }
.table,
tr,
td {
  padding: 10px;
}
  </style>
  <style >
  .content-main {