gx
chenyc
2025-02-28 142a750b078c089a3f5373db7874f96ca93f458a
gx
3个文件已修改
137 ■■■■■ 已修改文件
src/views/home/components/editDietary.vue 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/home/components/editDietary2.vue 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/home/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/home/components/editDietary.vue
@@ -2,7 +2,7 @@
    <div class="dietarySurvey-item">
        <el-dialog  v-model="state.dialogTableVisible" title="膳食生活调查表" :fullscreen="true" width="100%">
            <div class="container" style="width: 100%; height: 100%;overflow: auto;">
                <div id="sahnshishenghuo">
                <div id="printMe">
                    <div>
                        <el-form size="small">
                            <div style="width: 100%">
@@ -129,7 +129,7 @@
                                        </td>
                                        <td colspan="5">
                                            <el-form-item>
                                                    <el-radio-group
                                                    <el-checkbox-group
                                                        v-model="state.tableData.常吃的主食.type">
                                                        <el-checkbox value="精米面类">A.精米面类</el-checkbox>
                                                        <el-checkbox value="杂豆类">B.杂豆类</el-checkbox>
@@ -137,18 +137,18 @@
                                                        <el-checkbox value="薯类">B.薯类</el-checkbox>
                                                        <el-checkbox value="其它">E.其它</el-checkbox>
                                                    </el-radio-group>
                                                    </el-checkbox-group >
                                                    &nbsp;&nbsp;
                                                    &nbsp;&nbsp;
                                                    <span>食用份量</span>
                                                    <span>
                                                        <input style="width: 50px;" v-model="state.tableData.常吃的主食.食用份量"/> 克/天
                                                        <input :style="{width:state.tableData?.常吃的主食?.食用份量?.length?state.tableData?.常吃的主食?.食用份量?.length*15+'px':'50px'}" v-model="state.tableData.常吃的主食.食用份量"/> 克/天
                                                       
                                                    </span>
                                                    &nbsp;&nbsp;
                                                    &nbsp;&nbsp;
                                                    <span>食用频次</span>
                                                    <input style="width: 50px;" v-model="state.tableData.常吃的主食.食用频次"/> 次/周
                                                    <input :style="{width:state.tableData?.常吃的主食?.食用频次?.length?state.tableData?.常吃的主食?.食用频次?.length*15+'px':'50px'}" v-model="state.tableData.常吃的主食.食用频次"/> 次/周
                                                </el-form-item>
                                        </td>
                                    </tr>
@@ -158,24 +158,25 @@
                                        </td>
                                        <td colspan="5">
                                                <el-form-item>
                                                <el-radio-group  v-model="state.tableData.常吃的蔬菜.type">
                                                <el-checkbox-group   v-model="state.tableData.常吃的蔬菜.type">
                                                    <el-checkbox value="叶菜">A.叶菜</el-checkbox>
                                                    <el-checkbox value="根茎类">B.根茎类</el-checkbox>
                                                    <el-checkbox value="瓜茄">C.瓜茄</el-checkbox>
                                                    <el-checkbox value="鲜豆">B.鲜豆</el-checkbox>
                                                    <el-checkbox value="菌藻">E.菌藻</el-checkbox>
                                                </el-radio-group>
                                                </el-checkbox-group >
                                                <br/>
                                                &nbsp;&nbsp;
                                                    &nbsp;&nbsp;
                                                    <span>食用份量</span>
                                                    <span>
                                                        <input style="width: 50px;" v-model="state.tableData.常吃的蔬菜.食用份量"/> 克/天
                                                        <input :style="{width:state.tableData?.常吃的蔬菜?.食用份量?.length?state.tableData?.常吃的蔬菜?.食用份量?.length*15+'px':'50px'}" v-model="state.tableData.常吃的蔬菜.食用份量"/> 克/天
                                                       
                                                    </span>
                                                    &nbsp;&nbsp;
                                                    &nbsp;&nbsp;
                                                    <span>食用频次</span>
                                                    <input style="width: 50px;" v-model="state.tableData.常吃的蔬菜.食用频次"/> 次/周
                                                    <input :style="{width:state.tableData?.常吃的蔬菜?.食用频次?.length?state.tableData?.常吃的蔬菜?.食用频次?.length*15+'px':'50px'}" v-model="state.tableData.常吃的蔬菜.食用频次"/> 次/周
                                                   
                                            </el-form-item>
                                            
@@ -188,24 +189,24 @@
                                        <td colspan="5">
                                          
                                                <el-form-item>
                                                <el-radio-group  v-model="state.tableData.常吃的肉类.type">
                                                <el-checkbox-group   v-model="state.tableData.常吃的肉类.type">
                                                    <el-checkbox value="畜产品">A.畜产品</el-checkbox>
                                                    <el-checkbox value="禽产品">B.禽产品</el-checkbox>
                                                    <el-checkbox value="水产品类">C.水产品类</el-checkbox>
                                                    <el-checkbox value="蛋类">D.蛋类</el-checkbox>
                                                    <el-checkbox value="其他">E.其他</el-checkbox>
                                                </el-radio-group>
                                                </el-checkbox-group>
                                                &nbsp;&nbsp;
                                                    &nbsp;&nbsp;
                                                    <span>食用份量</span>
                                                    <span>
                                                        <input style="width: 50px;" v-model="state.tableData.常吃的肉类.食用份量"/> 克/天
                                                        <input :style="{width:state.tableData?.常吃的肉类?.食用份量?.length?state.tableData?.常吃的肉类?.食用份量?.length*15+'px':'50px'}" v-model="state.tableData.常吃的肉类.食用份量"/> 克/天
                                                       
                                                    </span>
                                                    &nbsp;&nbsp;
                                                    &nbsp;&nbsp;
                                                    <span>食用频次</span>
                                                    <input style="width: 50px;" v-model="state.tableData.常吃的肉类.食用频次"/> 次/周
                                                    <input :style="{width:state.tableData?.常吃的肉类?.食用频次?.length?state.tableData?.常吃的肉类?.食用频次?.length*15+'px':'50px'}" v-model="state.tableData.常吃的肉类.食用频次"/> 次/周
                                                   
                                            </el-form-item>
                                            
@@ -222,13 +223,13 @@
                                                    &nbsp;&nbsp;
                                                    <span>食用份量</span>
                                                    <span>
                                                        <input style="width: 50px;" v-model="state.tableData.常吃的水果.食用份量"/> 克/天;
                                                        <input :style="{width:state.tableData?.常吃的水果?.食用份量?.length?state.tableData?.常吃的水果?.食用份量?.length*15+'px':'50px'}" v-model="state.tableData.常吃的水果.食用份量"/> 克/天;
                                                       
                                                    </span>
                                                    &nbsp;&nbsp;
                                                    &nbsp;&nbsp;
                                                    <span>食用频次</span>
                                                    <input style="width: 50px;" v-model="state.tableData.常吃的水果.食用频次"/> 次/周
                                                    <input :style="{width:state.tableData?.常吃的水果?.食用份量?.length?state.tableData?.常吃的水果?.食用频次?.length*15+'px':'50px'}"  v-model="state.tableData.常吃的水果.食用频次"/> 次/周
                                                   
                                            </el-form-item>
                                        </td>
@@ -256,12 +257,12 @@
                                                    &nbsp;&nbsp;
                                                    <span>食用份量</span>
                                                    <span>
                                                        <input style="width: 50px;" v-model="state.tableData.常吃的大豆及其制品是.食用份量"/> 克/天
                                                        <input :style="{width:state.tableData?.常吃的大豆及其制品是?.食用份量?.length?state.tableData?.常吃的大豆及其制品是?.食用份量?.length*15+'px':'50px'}" v-model="state.tableData.常吃的大豆及其制品是.食用份量"/> 克/天
                                                    </span>
                                                    &nbsp;&nbsp;
                                                    &nbsp;&nbsp;
                                                    <span>食用频次</span>
                                                    <input style="width: 50px;" v-model="state.tableData.常吃的大豆及其制品是.食用频次"/> 次/周
                                                    <input  :style="{width:state.tableData?.常吃的大豆及其制品是?.食用频次?.length?state.tableData?.常吃的大豆及其制品是?.食用频次?.length*15+'px':'50px'}"  v-model="state.tableData.常吃的大豆及其制品是.食用频次"/> 次/周
                                                   
                                            </el-form-item>
    
@@ -281,13 +282,13 @@
                                                    &nbsp;&nbsp;
                                                    <span>食用份量</span>
                                                    <span>
                                                        <input style="width: 50px;" v-model="state.tableData.坚果摄入量.食用份量"/> 克/天;
                                                        <input :style="{width:state.tableData?.坚果摄入量?.食用份量?.length?state.tableData?.坚果摄入量?.食用份量?.length*15+'px':'50px'}"  v-model="state.tableData.坚果摄入量.食用份量"/> 克/天;
                                                       
                                                    </span>
                                                    &nbsp;&nbsp;
                                                    &nbsp;&nbsp;
                                                    <span>食用频次</span>
                                                    <input style="width: 50px;" v-model="state.tableData.坚果摄入量.食用频次"/> 次/周
                                                    <input :style="{width:state.tableData?.坚果摄入量?.食用频次?.length?state.tableData?.坚果摄入量?.食用频次?.length*15+'px':'50px'}" style="width: 50px;" v-model="state.tableData.坚果摄入量.食用频次"/> 次/周
                                                   
                                            </el-form-item>
    
@@ -316,13 +317,13 @@
                                                    &nbsp;&nbsp;
                                                    <span>食用份量</span>
                                                    <span>
                                                        <input style="width: 50px;" v-model="state.tableData.奶类摄入量.食用份量"/> 克/天
                                                        <input :style="{width:state.tableData?.奶类摄入量?.食用份量?.length?state.tableData?.奶类摄入量?.食用份量?.length*15+'px':'50px'}" v-model="state.tableData.奶类摄入量.食用份量"/> 克/天
                                                       
                                                    </span>
                                                    &nbsp;&nbsp;
                                                    &nbsp;&nbsp;
                                                    <span>食用频次</span>
                                                    <input style="width: 50px;" v-model="state.tableData.奶类摄入量.食用频次"/> 次/周
                                                    <input :style="{width:state.tableData?.奶类摄入量?.食用频次?.length?state.tableData?.奶类摄入量?.食用频次?.length*15+'px':'50px'}" v-model="state.tableData.奶类摄入量.食用频次"/> 次/周
                                            </el-form-item>   
                                        </td>
                                    </tr>
@@ -451,6 +452,7 @@
                                            </el-form-item>   
                                        </td>
                                    </tr>
                                    <div class="page-break"></div>
                                    <tr>
                                        <td>
                                            12.零食及其他
@@ -639,32 +641,32 @@
                                    <tr>
                                        <td>
                                            <el-form-item>
                                                <el-input type="textarea" v-model="state.tableData.二十四小时饮食回顾记录.早餐" placeholder="" />
                                                <el-input type="textarea"  :autosize="{ minRows: 2, maxRows: 6 }"  v-model="state.tableData.二十四小时饮食回顾记录.早餐" placeholder="" />
                                            </el-form-item>
                                        </td>
                                        <td>
                                            <el-form-item>
                                                <el-input type="textarea" v-model="state.tableData.二十四小时饮食回顾记录.早加餐" placeholder="" />
                                                <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 6 }"  v-model="state.tableData.二十四小时饮食回顾记录.早加餐" placeholder="" />
                                            </el-form-item>
                                        </td>
                                        <td>
                                            <el-form-item>
                                                <el-input type="textarea" v-model="state.tableData.二十四小时饮食回顾记录.午餐" placeholder="" />
                                                <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 6 }"  v-model="state.tableData.二十四小时饮食回顾记录.午餐" placeholder="" />
                                            </el-form-item>
                                        </td>
                                        <td>
                                            <el-form-item>
                                                <el-input type="textarea" v-model="state.tableData.二十四小时饮食回顾记录.午加餐" placeholder="" />
                                                <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 6 }"  v-model="state.tableData.二十四小时饮食回顾记录.午加餐" placeholder="" />
                                            </el-form-item>
                                        </td>
                                        <td>
                                            <el-form-item>
                                                <el-input type="textarea" v-model="state.tableData.二十四小时饮食回顾记录.晚餐" placeholder="" />
                                                <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 6 }"  v-model="state.tableData.二十四小时饮食回顾记录.晚餐" placeholder="" />
                                            </el-form-item>
                                        </td>
                                        <td>
                                            <el-form-item>
                                                <el-input type="textarea" v-model="state.tableData.二十四小时饮食回顾记录.晚加餐" placeholder="" />
                                                <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 6 }"  v-model="state.tableData.二十四小时饮食回顾记录.晚加餐" placeholder="" />
                                            </el-form-item>
                                        </td>
                                    </tr> 
@@ -904,7 +906,7 @@
                    <el-button type="primary" @click="onSubmit">
                        保存
                    </el-button>
                    <el-button v-if="state.viewInfo.id" type="primary" v-print="'#sahnshishenghuo'">
                    <el-button v-if="state.viewInfo.id" type="primary" v-print="'#printMe'">
                        <el-icon><Printer /></el-icon>
                        打印
                    </el-button>
@@ -966,17 +968,17 @@
            备注: '',
        },
        常吃的主食: {
            type: '', //只能选择独居或者家庭
            type: [], //只能选择独居或者家庭
            食用份量: '',
            食用频次: '',
        },
        常吃的蔬菜: {
            type: '',
            type: [],
            食用份量: '',
            食用频次: '',
        },
        常吃的肉类: {
            type: '',
            type: [],
            食用份量: '',
            食用频次: ''
        },
@@ -1141,7 +1143,7 @@
    
}
const generatePDF=()=> {
      const element = document.getElementById('sahnshishenghuo');
      const element = document.getElementById('printMe');
      const opt = {
        margin: 10,
        filename: `${state.tableData.表名}.pdf`,
@@ -1176,6 +1178,7 @@
    })
  }else if(info.id>0){
    info.surveryTime=state.viewInfo.surveryTime
    console.log()
    update(info).then(re=>{
        console.log(re.data)
        state.dialogTableVisible=false
@@ -1210,17 +1213,17 @@
            备注: '',
        },
        常吃的主食: {
            type: '', //只能选择独居或者家庭
            type: [], //只能选择独居或者家庭
            食用份量: '',
            食用频次: '',
        },
        常吃的蔬菜: {
            type: '',
            type: [],
            食用份量: '',
            食用频次: '',
        },
        常吃的肉类: {
            type: '',
            type: [],
            食用份量: '',
            食用频次: ''
        },
@@ -1389,6 +1392,7 @@
    }
    else if(type==='update'){
        console.log(mode)
        console.log(JSON.parse(mode.surveryJsonBody))
        state.viewInfo=mode
        state.tableData=JSON.parse(mode.surveryJsonBody)
        state.tableData.初次调查日期=mode.surveryTime
@@ -1406,7 +1410,36 @@
<style scoped lang="scss">
@media print {
  body * {
    visibility: hidden;
  }
  #printMe, #printMe * {
    visibility: visible;
  }
  #printMe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
  /* 防止内容在页面边界处被截断 */
  p, h1, div {
    page-break-inside: avoid;
  }
  /* 确保表格行不会被截断(如果有表格的话) */
  table tr {
    page-break-inside: avoid;
  }
  /* 设置页面大小和边距 */
  @page {
    size: A4;
    margin: 0mm;
  }
}
.gridtable {
    font-family: verdana, arial, sans-serif;
    font-size: 11px;
src/views/home/components/editDietary2.vue
@@ -2,7 +2,7 @@
    <div class="dietarySurvey-item">
        <el-dialog v-model="state.dialogTableVisible" title="营养膳食调查表" :fullscreen="true" width="100%">
            <div class="container" style="width: 100%; height: 100%;overflow: auto;">
                <div id='printFrom2'>
                <div id='printMe'>
                    <div>
                        <el-form size="small">
                            <div style="width: 100%">
@@ -680,9 +680,9 @@
                    <el-button type="primary" @click="onSubmit">
                        保存
                    </el-button>
                    <el-button v-if="state.viewInfo.id" type="primary" v-print="'#printFrom2'">
                    <el-button v-if="state.viewInfo.id" type="primary" v-print="'#printMe'">
                        <el-icon><Printer /></el-icon>
                        打印
                        打印ddd
                    </el-button>
                    <el-button type="primary" v-if="state.viewInfo.id" @click="generatePDF">
                        <el-icon><Position /></el-icon>
@@ -890,7 +890,7 @@
    state.dialogTableVisible = false
}
const generatePDF=()=> {
      const element = document.getElementById('printFrom2');
      const element = document.getElementById('printMe');
      const opt = {
        margin: 10,
        filename: `${state.tableData.表名}.pdf`,
@@ -1131,6 +1131,26 @@
<style scoped lang="scss">
@media print {
  body * {
    visibility: hidden;
  }
  #printMe, #printMe * {
    visibility: visible;
  }
  #printMe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
  }
  /* 控制分页 */
  .page-break {
    page-break-before: always;
  }
}
.gridtable {
    font-family: verdana, arial, sans-serif;
    font-size: 11px;
src/views/home/index.vue
@@ -337,8 +337,6 @@
</script>
<style lang="scss">
$homeNavLengh: 8;
.home-container {
    overflow: hidden;
@@ -407,8 +405,4 @@
    }
}
.parent {
    display: grid;
    grid-template-columns: minmax(150px, 20%) 1fr;
}
</style>